\section{Analyse de performance}
%%% diapo 1 
\subsection{Les Métriques de performance multicoeur }
\begin{frame}\frametitle{Les Métriques qui caractérisent la performance} 		
	\begin{columns}[T]
		\begin{column}{.5\textwidth} 
			\begin{block}{Les Métrique de performances}
				\begin{itemize}
			 \item Flops Per Cycle (FPC) : Nombre d’opérations flottantes par cycle.
             \item Instructions Per Cycle (IPC) : nombre d'instructions par cycle (CPU).
             \item Loads Per Cycle (LPC) : nombre de loads par cycle (MEMOIRE).
				\end{itemize}
			\end{block}
		\end{column}
		\begin{column}{.5\textwidth}
			\begin{figure}[htb]
				\begin{center}
					\includegraphics[width=\textwidth]{../../rapport/images/HOMME_perf}
					\caption*{\tiny {Performance des métriques pour les fonctions HOMME}}
				\end{center}
			\end{figure}
		\end{column}		
					
	\end{columns}	
\end{frame}
%%% diapo 2
\begin{frame}\frametitle{ Les limites des métriques de performance monocoeur } 		
	\begin{columns}[T]
		\begin{column}{.5\textwidth} 
			\begin{block}{Limites de taux de miss L1 et L2}
				\begin{itemize}
			\item Les taux de miss en L1 (trompeuses) et L2  ne peuvent pas déterminer si le système souffre au niveau de la L3 et DRAM.
			
             \item Pour les fonctions de HOMME, plus on descend en profondeur de l'architecture mémoire, plus le taux de miss augmente.
				\end{itemize}
			\end{block}
		\end{column}
		
		\begin{column}{.5\textwidth}
			\begin{figure}[htb]
				\begin{center}
					\includegraphics[width=\textwidth]{../../rapport/images/Miss_HOMME}
					\caption*{\tiny {Les taux de miss en L1,L2,L3 et DRAM pour les fonctions HOMME}}
				\end{center}
			\end{figure}
		\end{column}		
					
	\end{columns}	
\end{frame}

%%% diapo 3
\begin{frame}\frametitle{ Les limites des optimisations de performance monocoeur } 		
	\begin{columns}[T]
		\begin{column}{.5\textwidth} 
			\begin{block}{L'impacte de certaine optimisations sur les systèmes multicoeur}
				\begin{itemize}
			\item Avec le flag -O3 la performance a presque doublé pour le monocoeur mais pas pour le quadcore.
             \item Les optimisations qui engendrent des gains sur les monocoeurs n'impliquent pas forcément les mêmes résultats en multicoeurs.
             \end{itemize}
			\end{block}
		\end{column}
		
		\begin{column}{.5\textwidth}
			\begin{figure}[htb]
				\begin{center}
					\includegraphics[width=\textwidth]{../../rapport/images/compil}
					\caption*{\tiny {Les effets des flags de compilation sur les performance pour les multicoeur et le monocoeur}}
				\end{center}
			\end{figure}
		\end{column}		
					
	\end{columns}	
\end{frame}

%%% diapo 4
\subsection{Goulots d'étranglements spécifiques aux systèmes multicoeurs}
\begin{frame}\frametitle{ Les goulots d'étranglement  } 		
	\begin{columns}[T]
		\begin{column}{.5\textwidth} 
			\begin{block}{Vus d'ensemble}
				\begin{itemize}
	\item Les problèmes mémoire s'écoulent vers le bas	:
			\item  La capacité du cache L3
             \item  OFF-chip Bandwith.
             \item  Les pages DRAM.
				\end{itemize}
			\end{block}
		\end{column}
		
		\begin{column}{.5\textwidth}
			\begin{figure}[htb]
				\begin{center}
					\includegraphics[width=\textwidth]{../../rapport/images/multi}
					\caption*{\tiny {les principaux bottlenecks des multicoeurs}}
				\end{center}
			\end{figure}
		\end{column}		
					
	\end{columns}	
\end{frame}

%%% diapo 5

\subsection{Les problèmes de mesure pour les multicoeurs }
\begin{frame}\frametitle{ les difficultés issues des interaction mémoire du au multicoeurs }
         \begin{block}{les difficultées :}
                  \begin{itemize}
			       \item Sensibilité des mémoires par rapport au contexte.
			       \item Les intéractions mémoire ont tendance a être non déterministes. (dépendent des intéractions des threads).
			       \item Les goulots d'étranglement mémoire peuvent être fortement non-locaux et souvent causés par les appels aux fonctions précédentes.
                    \item Les perturbations au niveau de la mémoire dûes a la mesure.
			       \end{itemize}
	     \end{block}

\end{frame}

%%% diapo 6

\begin{frame}\frametitle{Problématique relative au mesure de performance  } 	
           \begin{figure}[htb]
				\begin{center}
					\includegraphics[scale=0.4]{../../rapport/images/exec1}
					\caption*{\tiny {les temps d'exécution pour différentes fonctions de HOMME}}
				\end{center}
			\end{figure}	
			\begin{block}{Minimiser les perturbation de mesure}
				\begin{itemize}
			 \item Outils recommandés pour leur faible impact
			          \begin{itemize}
			            \item Costum PAPI
                         \item PerCTR
                          \item Gprof et TAU
                          \item HPCToolkit
                          \item PerfExpert
			           \end{itemize}
             			\end{itemize}
			\end{block}
\end{frame}
%%% diapo 8
\subsection{les étapes d'optimisation et d'analyse pour un systéme multicoeur }
\begin{frame}\frametitle{ les étapes d'optimisation et d'analyse multicoeur }
         \begin{block}{Comment procéder ?}
                  \begin{itemize}
			       \item{1.} Utilisation d'un outil comme Gprof pour le profilage.
			       \item{2.} Comparer les valeurs de l’IPC, FPC et LPC pour ces fonctions avec un grand nombre de coeurs (CPU\_bound /MEMORY\_bound). 
			       \item{3.} Si les taux L3 miss augmentent avec le nombre de coeurs :
			       \begin{itemize}
			             \item Minimiser l'empreinte mémoire cache.
			        \end{itemize}
			        \item{4.} Dépassement de la bande passante off-chip :
                    \begin{itemize}
			             \item Augmenter l'intensité arithmétique. 
			        \end{itemize}
			        
			        \item{5.} DRAM bank miss avec peu de coeurs :
			        \begin{itemize}
			             \item Réorganisation des boucles pour accéder à un seul tableau à la fois .
			        \end{itemize}
			        \item{6.} Utiliser des outils efficaces.
			        \begin{itemize}
			       \item  TAU, HPCToolkit ou PAPI : les fonctions moyennes et grandes.
			       \item TAU run ou PerCtr code : fonctions très petites.
			       \end{itemize}
			       \end{itemize}
	     \end{block}

\end{frame}
%%% diapo 9

